local wusheng = fk.CreateSkill{
  name = "mod__wusheng",
}
local wusheng_ = {
  anim_type = "offensive",
  pattern = "slash",
  card_filter = function(self, player, to_select, selected)
    if #selected == 1 then return false end
    return Fk:getCardById(to_select).color == Card.Red
  end,
  view_as = function(self, player, cards)
    if #cards ~= 1 then return nil end
    local c = Fk:cloneCard("slash")
    c.skillName = self.name
    c:addSubcard(cards[1])
    return c
  end,
}
local wusheng_targetmod = {
  anim_type = "offensive",
  bypass_distances = function (self, player, skill, card)
    return player:hasSkill(self) and skill.trueName == "slash_skill" and card.suit == Card.Diamond
  end
}
local wusheng_trigger = {
  mute = true,
  can_trigger = function(self, event, target, player, data)
    return player == target and player:hasSkill(self) and data.card and (data.card.trueName == "slash" or data.skillName == "slash_skill")
      and data.card.suit == Card.Heart
  end,
  on_cost = Util.TrueFunc,
  on_use = function(self, event, target, player, data)
    data.damage = data.damage + 1
  end,
}
wusheng:addEffect("viewas", wusheng_)
wusheng:addEffect("targetmod", wusheng_targetmod)
wusheng:addEffect(fk.DamageCaused, wusheng_trigger)
return wusheng